1. Field of the Invention
The invention relates to the field of non-volatile memories. More particularly, it relates to a device for the protection of stored data against parasitic programming operations.
The most important feature of non-volatile memories is the fact that they guarantee the integrity of the data stored in these memories. Today, in most memories, this guarantee is provided by two types of devices: supply voltage drop detection circuits (also known as Vcc Low detection circuits) and devices for the logic write-protection of data (also known as software data protection devices).
The term "memory" is understood to mean an independent memory as well as a memory used in a circuit comprising other elements.
2. Discussion of the Related Art
Supply voltage drop detection type circuits are detection circuits that prohibit programming (namely the modification of the stored data, also called writing) if the supply voltage of the memory (or of the circuit comprising the memory) is below a certain value. This is an analog type of protection. Very often, the supply voltage drop detection and power-on reset functions are not distinguished from one another.
Devices for the logic write-protection of data generally take the form of a programmable and non-volatile internal control register whose contents represent authorization of programming or prohibition of programming. This internal register is programmed by the circuit that controls the memory (for example a microprocessor or a microcontroller, if the memory is an independent circuit). This is logic type protection.
Both devices may be called "write inhibit" devices.
Each of these two devices has drawbacks
Let us assume that the supply voltage of a memory in operation, in which writing is permitted, starts dropping. Above a certain value, the control device (for example a microcontroller) that controls the memory works accurately. When the voltage reaches a first threshold VA, the microcontroller detects the fact that the supply has dropped. Depending on the applications and depending on its duration, this phase is used, for example, to carry out operations for emergency saving of data in the memory or, as the case may be, to program the register of the device for the logic write-protection of data so as to protect the memory against parasitic writing operations. It is also possible to configure the memory so that parasitic programming becomes more difficult, for example, by configuring the memory in read mode.
When the voltage reaches a threshold VB that is lower, in terms of absolute value, than VA, the control device no longer works properly and behaves in a totally unpredictable way. In particular, it may very well send write orders to the memory. In this case, the device for the logic write-protection of data, if it has been programmed to prohibit any programming, is a protection that is not completely reliable. Somewhere in the memory of the microcontroller, there necessarily exists a program for configuration of the register of the device. It may happen that the microcontroller accesses this program and thus modifies the contents of the register, permitting the writing operation. The probability that this program will be run is nevertheless far smaller than the probability of parasitic writing inasmuch as, conventionally, programming of the register requires at least three consistent clock cycles (whereas a parasitic writing operation may get activated on a single cycle).
When the voltage reaches a third threshold VC that is smaller, in terms of absolute value, then VB, the supply voltage drop detection circuit incorporated in the memory detects the drop in voltage and then automatically prohibits any command for writing in the memory.
The critical period in terms of integrity of the data elements of the memory is therefore located between the thresholds VB and VC, that is to say between the time when the drop in supply voltage induces a random behavior of the control device and the time when this drop induces an automatic prohibition of any programming.
One approach would consist in choosing VC&gt;VB. However, it is difficult in practice to make detection circuits having a threshold VC that is stable as a function of the temperature and parameters of manufacture. Typically, to date, the devices that have been implanted in memories have a variation of .+-.0.2 volts depending on the manufacturing parameters and .+-.0.3 volts depending on the temperature. There is therefore an uncertainty of .+-.0.5 volts about the value of VC.
Furthermore, the threshold VB is generally located very close to the minimum value of the supply voltage above which manufacturers guarantee normal operation of the circuits. If VC&gt;VB, there is therefore a risk of blocking the memory whereas it should work normally.
For example, for a circuit supplied by a supply voltage of 5 volts, typically efficient operation is guaranteed between 4.5 and 5.5 volts. The threshold VB will be typically placed at 4.3 volts and VC will be equal to 3.8 volts .+-.0.5 volts.